{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Linear Regression Analysis"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'/home/lab466/pythons/pyMLIA35/Ch08LinearReg'"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "##########From MLIA 08 Linear_Regression\n",
    "import os \n",
    "os.chdir(\"/home/lab466/pythons/pyMLIA35/Ch08LinearReg\")\n",
    "os.getcwd()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "6.603071389222561"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f0cf4313c88>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "##########From MLIA ch7 Lineaer Reg \n",
    "# This code is supporting material for the book\n",
    "# Building Machine Learning Systems with Python\n",
    "# by Willi Richert and Luis Pedro Coelho\n",
    "# published by PACKT Publishing\n",
    "#\n",
    "# It is made available under the MIT License\n",
    "\n",
    "import numpy as np\n",
    "from sklearn.datasets import load_boston\n",
    "from sklearn.linear_model import LinearRegression\n",
    "from sklearn.metrics import mean_squared_error, r2_score\n",
    "from matplotlib import pyplot as plt\n",
    "\n",
    "boston = load_boston()\n",
    "boston.DESCR\n",
    "boston.feature_names\n",
    "\n",
    "from matplotlib import pyplot as plt\n",
    "plt.scatter(boston.data[:,5], boston.target, color='r')\n",
    "\n",
    "import numpy as np\n",
    "\n",
    "x = boston.data[:,5]\n",
    "x = np.array([[v] for v in x])\n",
    "\n",
    "y = boston.target\n",
    "#slope,_,_,_ = np.linalg.lstsq(x,y)\n",
    "slope,total_error,_,_ = np.linalg.lstsq(x,y)\n",
    "rmse = np.sqrt(total_error[0]/len(x))\n",
    "rmse\n",
    "\n",
    "\n",
    "x = boston.data[:,5]\n",
    "x = np.array([[v,1] for v in x]) # we now use [v,1] instead of [v]\n",
    "y = boston.target\n",
    "(slope,bias),_,_,_ = np.linalg.lstsq(x,y)\n",
    "\n",
    "(slope,bias),total_error,_,_ = np.linalg.lstsq(x,y)\n",
    "rmse = np.sqrt(total_error[0]/len(x))\n",
    "rmse\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f0cefacc588>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "boston = load_boston()\n",
    "\n",
    "# Index number five in the number of rooms\n",
    "fig,ax = plt.subplots()\n",
    "ax.scatter(boston.data[:, 5], boston.target)\n",
    "ax.set_xlabel(\"Average number of rooms (RM)\")\n",
    "ax.set_ylabel(\"House Price\")\n",
    "\n",
    "x = boston.data[:, 5]\n",
    "# fit (used below) takes a two-dimensional array as input. We use np.atleast_2d\n",
    "# to convert from one to two dimensional, then transpose to make sure that the\n",
    "# format matches:\n",
    "x = np.transpose(np.atleast_2d(x))\n",
    "\n",
    "y = boston.target\n",
    "\n",
    "lr = LinearRegression(fit_intercept=False)\n",
    "lr.fit(x, y)\n",
    "\n",
    "ax.plot([0, boston.data[:, 5].max() + 1],\n",
    "         [0, lr.predict(boston.data[:, 5].max() + 1)], '-', lw=4)\n",
    "fig.savefig('Figure1.png')\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "RMSE (no intercept): 7.64268509308749\n",
      "Mean squared error (of training data): 43.6\n",
      "Root mean squared error (of training data): 6.6\n",
      "COD (on training data): 0.48\n"
     ]
    },
    {
     "data": {
      "image/png": "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\nAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f0cefa1a128>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "mse = mean_squared_error(y, lr.predict(x))\n",
    "rmse = np.sqrt(mse)\n",
    "print('RMSE (no intercept): {}'.format(rmse))\n",
    "\n",
    "# Repeat, but fitting an intercept this time:\n",
    "lr = LinearRegression(fit_intercept=True)\n",
    "\n",
    "lr.fit(x, y)\n",
    "\n",
    "fig,ax = plt.subplots()\n",
    "ax.set_xlabel(\"Average number of rooms (RM)\")\n",
    "ax.set_ylabel(\"House Price\")\n",
    "ax.scatter(boston.data[:, 5], boston.target)\n",
    "xmin = x.min()\n",
    "xmax = x.max()\n",
    "ax.plot([xmin, xmax], lr.predict([[xmin], [xmax]]) , '-', lw=4)\n",
    "fig.savefig('Figure2.png')\n",
    "\n",
    "mse = mean_squared_error(y, lr.predict(x))\n",
    "print(\"Mean squared error (of training data): {:.3}\".format(mse))\n",
    "\n",
    "rmse = np.sqrt(mse)\n",
    "print(\"Root mean squared error (of training data): {:.3}\".format(rmse))\n",
    "\n",
    "cod = r2_score(y, lr.predict(x))\n",
    "print('COD (on training data): {:.2}'.format(cod))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "###########MLia chap05 Logistic Regression\n",
    "import os \n",
    "os.chdir(\"/home/lab466/pythons/pyMLIA35/Ch05LogisticReg\")\n",
    "import logRegres\n",
    "from numpy import * "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f0cef93f3c8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f0cef847e80>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\nU0sAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f0cef861c88>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "\n",
    "\n",
    "##P79  调用Logistics梯度上升训练算法\n",
    "#def gradAscent(dataMatrix, labelMat)\n",
    "dataMatrix,labelMat = logRegres.loadDataSet()\n",
    "weight = logRegres.gradAscent(dataMatrix, labelMat)\n",
    "weight\n",
    "## 画出数据集和Logistics最佳拟合直线\n",
    "logRegres.plotBestFit(weight.getA())\n",
    "    \n",
    "#P80使用随机梯度上升训练算法\n",
    "#def stocGradAscent0(array(dataArr),labelMat)\n",
    "## \n",
    "##reload(logRegres)\n",
    "dataArr,labelMat=logRegres.loadDataSet()\n",
    "weights=logRegres.stocGradAscent0(array(dataArr),labelMat)\n",
    "weights\n",
    "##画出 数据集和随机梯度上升最佳拟合直线\n",
    "logRegres.plotBestFit(weights)\n",
    "\n",
    "#P82使用改进的随机梯度上升训练算法\n",
    "## \n",
    "##reload(logRegres)\n",
    "dataArr,labelMat=logRegres.loadDataSet()\n",
    "weights=logRegres.stocGradAscent1(array(dataArr),labelMat)\n",
    "## 画出数据集和改进的随机梯度上升最佳拟合直线\n",
    "logRegres.plotBestFit(weights)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#  金融回归分析例子"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'/home/lab466/pythons/py4fiYves/ipython'"
      ]
     },
     "execution_count": 38,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "##########From py4fiYves/005_Financial_Regression\n",
    "import os\n",
    "os.chdir(\"/home/lab466/pythons/py4fiYves/ipython\")\n",
    "os.getcwd()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import warnings\n",
    "warnings.simplefilter('ignore')\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline\n",
    "from urllib.request import urlretrieve\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {
    "uuid": "17a2e317-7047-4c9f-9faf-7e0e4132bd01"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "\"\\nurlretrieve(es_url, 'data/es.txt')\\nurlretrieve(vs_url, 'data/vs.txt')\\n\""
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#es_url = 'https://www.stoxx.com/document/Indices/Current/HistoricalData/hbrbcpe.txt'\n",
    "#vs_url = 'https://www.stoxx.com/document/Indices/Current/HistoricalData/h_vstoxx.txt'\n",
    "\n",
    "es_url = 'data/hbrbcpe.txt'\n",
    "vs_url = 'data/h_vstoxx.txt'\n",
    "'''\n",
    "urlretrieve(es_url, 'data/es.txt')\n",
    "urlretrieve(vs_url, 'data/vs.txt')\n",
    "'''\n",
    "\n",
    "#!ls -o ./data/*.txt\n",
    "# Windows: use dir"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {
    "collapsed": true,
    "uuid": "3bdd1237-41d5-4e92-8d2c-3c4ffd25e7e9"
   },
   "outputs": [],
   "source": [
    "lines = open('./data/es.txt', 'r').readlines()\n",
    "lines = [line.replace(' ', '') for line in lines]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {
    "uuid": "6c7769ea-4fb8-49ef-bdc8-4e06b986fb3e"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['PriceIndices-EUROCurrency\\n',\n",
       " 'Date;Blue-Chip;Blue-Chip;Broad;Broad;ExUK;ExEuroZone;Blue-Chip;Broad\\n',\n",
       " ';Europe;Euro-Zone;Europe;Euro-Zone;;;Nordic;Nordic\\n',\n",
       " ';SX5P;SX5E;SXXP;SXXE;SXXF;SXXA;DK5F;DKXF\\n',\n",
       " '31.12.1986;775.00;900.82;82.76;98.58;98.06;69.06;645.26;65.56\\n',\n",
       " '01.01.1987;775.00;900.82;82.76;98.58;98.06;69.06;645.26;65.56\\n']"
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "lines[:6]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {
    "uuid": "b5edc764-13a4-4e0c-b6d3-ac615b4a530b"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "317.10;267.23;5268.36;363.19\n",
      "\n",
      "322.55;272.18;5360.52;370.94\n",
      "\n",
      "322.69;272.95;5360.52;370.94\n",
      "\n",
      "327.57;277.68;5479.59;378.69;\n",
      "\n",
      "329.94;278.87;5585.35;386.99;\n",
      "\n",
      "326.77;272.38;5522.25;380.09;\n",
      "\n",
      "332.62;277.08;5722.57;396.12;\n",
      "\n"
     ]
    }
   ],
   "source": [
    "for line in lines[3883:3890]:\n",
    "    print( line[41:]),"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {
    "collapsed": true,
    "uuid": "ea43adac-94fb-4b11-8af5-153c6fb4cebe"
   },
   "outputs": [],
   "source": [
    "new_file = open('./data/es50.txt', 'w')\n",
    "    # opens a new file\n",
    "new_file.writelines('date' + lines[3][:-1]\n",
    "                    + ';DEL' + lines[3][-1])\n",
    "    # writes the corrected third line of the orginal file\n",
    "    # as first line of new file\n",
    "new_file.writelines(lines[4:])\n",
    "    # writes the remaining lines of the orginial file\n",
    "new_file.close()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {
    "uuid": "aca0ad29-cce1-4da5-b39e-ace9bafe3077"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['date;SX5P;SX5E;SXXP;SXXE;SXXF;SXXA;DK5F;DKXF;DEL\\n',\n",
       " '31.12.1986;775.00;900.82;82.76;98.58;98.06;69.06;645.26;65.56\\n',\n",
       " '01.01.1987;775.00;900.82;82.76;98.58;98.06;69.06;645.26;65.56\\n',\n",
       " '02.01.1987;770.89;891.78;82.57;97.80;97.43;69.37;647.62;65.81\\n',\n",
       " '05.01.1987;771.89;898.33;82.82;98.60;98.19;69.16;649.94;65.82\\n']"
      ]
     },
     "execution_count": 45,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "new_lines = open('./data/es50.txt', 'r').readlines()\n",
    "new_lines[:5]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {
    "collapsed": true,
    "uuid": "0bc55f0d-cd99-45b9-955e-3a126360e94f"
   },
   "outputs": [],
   "source": [
    "es = pd.read_csv('./data/es50.txt', index_col=0,parse_dates=True, sep=';', dayfirst=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {
    "uuid": "73526ac3-4bf0-4455-89b2-f6aa614ffdca"
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>SX5P</th>\n",
       "      <th>SX5E</th>\n",
       "      <th>SXXP</th>\n",
       "      <th>SXXE</th>\n",
       "      <th>SXXF</th>\n",
       "      <th>SXXA</th>\n",
       "      <th>DK5F</th>\n",
       "      <th>DKXF</th>\n",
       "      <th>DEL</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>date</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2016-09-28</th>\n",
       "      <td>2847.0</td>\n",
       "      <td>2991.0</td>\n",
       "      <td>343.0</td>\n",
       "      <td>324.0</td>\n",
       "      <td>408.0</td>\n",
       "      <td>350.0</td>\n",
       "      <td>9072.0</td>\n",
       "      <td>581.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-09-29</th>\n",
       "      <td>2849.0</td>\n",
       "      <td>2992.0</td>\n",
       "      <td>343.0</td>\n",
       "      <td>324.0</td>\n",
       "      <td>408.0</td>\n",
       "      <td>351.0</td>\n",
       "      <td>9112.0</td>\n",
       "      <td>583.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-09-30</th>\n",
       "      <td>2843.0</td>\n",
       "      <td>3002.0</td>\n",
       "      <td>343.0</td>\n",
       "      <td>325.0</td>\n",
       "      <td>408.0</td>\n",
       "      <td>350.0</td>\n",
       "      <td>9116.0</td>\n",
       "      <td>583.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-10-03</th>\n",
       "      <td>2845.0</td>\n",
       "      <td>2998.0</td>\n",
       "      <td>343.0</td>\n",
       "      <td>325.0</td>\n",
       "      <td>408.0</td>\n",
       "      <td>351.0</td>\n",
       "      <td>9131.0</td>\n",
       "      <td>584.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-10-04</th>\n",
       "      <td>2871.0</td>\n",
       "      <td>3030.0</td>\n",
       "      <td>346.0</td>\n",
       "      <td>328.0</td>\n",
       "      <td>411.0</td>\n",
       "      <td>354.0</td>\n",
       "      <td>9212.0</td>\n",
       "      <td>589.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "              SX5P    SX5E   SXXP   SXXE   SXXF   SXXA    DK5F   DKXF  DEL\n",
       "date                                                                      \n",
       "2016-09-28  2847.0  2991.0  343.0  324.0  408.0  350.0  9072.0  581.0  NaN\n",
       "2016-09-29  2849.0  2992.0  343.0  324.0  408.0  351.0  9112.0  583.0  NaN\n",
       "2016-09-30  2843.0  3002.0  343.0  325.0  408.0  350.0  9116.0  583.0  NaN\n",
       "2016-10-03  2845.0  2998.0  343.0  325.0  408.0  351.0  9131.0  584.0  NaN\n",
       "2016-10-04  2871.0  3030.0  346.0  328.0  411.0  354.0  9212.0  589.0  NaN"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.round(es.tail())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {
    "uuid": "e6e3100a-8296-494f-9758-bbb0006c5df4"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "DatetimeIndex: 7673 entries, 1986-12-31 to 2016-10-04\n",
      "Data columns (total 8 columns):\n",
      "SX5P    7673 non-null float64\n",
      "SX5E    7673 non-null float64\n",
      "SXXP    7673 non-null float64\n",
      "SXXE    7673 non-null float64\n",
      "SXXF    7673 non-null float64\n",
      "SXXA    7673 non-null float64\n",
      "DK5F    7673 non-null float64\n",
      "DKXF    7673 non-null float64\n",
      "dtypes: float64(8)\n",
      "memory usage: 539.5 KB\n"
     ]
    }
   ],
   "source": [
    "del es['DEL'] \n",
    "es.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {
    "collapsed": true,
    "uuid": "fff2d2a1-dce8-4f4c-bab9-0b990a1f7b5f"
   },
   "outputs": [],
   "source": [
    "cols = ['SX5P', 'SX5E', 'SXXP', 'SXXE', 'SXXF',\n",
    "        'SXXA', 'DK5F', 'DKXF']\n",
    "es = pd.read_csv(es_url, index_col=0, parse_dates=True,\n",
    "                 sep=';', dayfirst=True, header=None,\n",
    "                 skiprows=4, names=cols)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {
    "uuid": "76793f6a-1625-4fc2-8063-38536b46b15e"
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>SX5P</th>\n",
       "      <th>SX5E</th>\n",
       "      <th>SXXP</th>\n",
       "      <th>SXXE</th>\n",
       "      <th>SXXF</th>\n",
       "      <th>SXXA</th>\n",
       "      <th>DK5F</th>\n",
       "      <th>DKXF</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2016-09-28</th>\n",
       "      <td>2846.55</td>\n",
       "      <td>2991.11</td>\n",
       "      <td>342.57</td>\n",
       "      <td>324.24</td>\n",
       "      <td>407.97</td>\n",
       "      <td>350.45</td>\n",
       "      <td>9072.09</td>\n",
       "      <td>581.27</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-09-29</th>\n",
       "      <td>2848.93</td>\n",
       "      <td>2991.58</td>\n",
       "      <td>342.72</td>\n",
       "      <td>324.08</td>\n",
       "      <td>407.65</td>\n",
       "      <td>350.90</td>\n",
       "      <td>9112.09</td>\n",
       "      <td>582.60</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-09-30</th>\n",
       "      <td>2843.17</td>\n",
       "      <td>3002.24</td>\n",
       "      <td>342.92</td>\n",
       "      <td>325.31</td>\n",
       "      <td>408.27</td>\n",
       "      <td>350.09</td>\n",
       "      <td>9115.81</td>\n",
       "      <td>583.26</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-10-03</th>\n",
       "      <td>2845.43</td>\n",
       "      <td>2998.50</td>\n",
       "      <td>343.23</td>\n",
       "      <td>325.08</td>\n",
       "      <td>408.44</td>\n",
       "      <td>350.92</td>\n",
       "      <td>9131.24</td>\n",
       "      <td>584.32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-10-04</th>\n",
       "      <td>2871.06</td>\n",
       "      <td>3029.50</td>\n",
       "      <td>346.10</td>\n",
       "      <td>327.73</td>\n",
       "      <td>411.41</td>\n",
       "      <td>353.92</td>\n",
       "      <td>9212.05</td>\n",
       "      <td>588.71</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "               SX5P     SX5E    SXXP    SXXE    SXXF    SXXA     DK5F    DKXF\n",
       "2016-09-28  2846.55  2991.11  342.57  324.24  407.97  350.45  9072.09  581.27\n",
       "2016-09-29  2848.93  2991.58  342.72  324.08  407.65  350.90  9112.09  582.60\n",
       "2016-09-30  2843.17  3002.24  342.92  325.31  408.27  350.09  9115.81  583.26\n",
       "2016-10-03  2845.43  2998.50  343.23  325.08  408.44  350.92  9131.24  584.32\n",
       "2016-10-04  2871.06  3029.50  346.10  327.73  411.41  353.92  9212.05  588.71"
      ]
     },
     "execution_count": 50,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "es.tail()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {
    "uuid": "3a1920c2-8c61-4720-941e-afdb983350aa"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "DatetimeIndex: 4357 entries, 1999-01-04 to 2016-02-12\n",
      "Data columns (total 9 columns):\n",
      "V2TX    4357 non-null float64\n",
      "V6I1    3906 non-null float64\n",
      "V6I2    4357 non-null float64\n",
      "V6I3    4296 non-null float64\n",
      "V6I4    4357 non-null float64\n",
      "V6I5    4357 non-null float64\n",
      "V6I6    4340 non-null float64\n",
      "V6I7    4357 non-null float64\n",
      "V6I8    4343 non-null float64\n",
      "dtypes: float64(9)\n",
      "memory usage: 340.4 KB\n"
     ]
    }
   ],
   "source": [
    "vs = pd.read_csv('./data/vs.txt', index_col=0, header=2, parse_dates=True, dayfirst=True)\n",
    "vs.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {
    "collapsed": true,
    "uuid": "3a437278-4466-41bf-b7f2-f9c17d2c44a7"
   },
   "outputs": [],
   "source": [
    "import datetime as dt\n",
    "data = pd.DataFrame({'EUROSTOXX' : es['SX5E'][es.index > dt.datetime(1999, 1, 1)]})\n",
    "data = data.join(pd.DataFrame({'VSTOXX' : vs['V2TX'][vs.index > dt.datetime(1999, 1, 1)]}))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {
    "uuid": "9223e142-d574-40c9-92e7-149d86628458"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "DatetimeIndex: 4554 entries, 1999-01-04 to 2016-10-04\n",
      "Data columns (total 2 columns):\n",
      "EUROSTOXX    4554 non-null float64\n",
      "VSTOXX       4554 non-null float64\n",
      "dtypes: float64(2)\n",
      "memory usage: 266.7 KB\n"
     ]
    }
   ],
   "source": [
    "data = data.fillna(method='ffill')\n",
    "data.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {
    "uuid": "fc5fc92a-3475-4e4b-a5fe-145809d35919"
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>EUROSTOXX</th>\n",
       "      <th>VSTOXX</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2016-09-28</th>\n",
       "      <td>2991.11</td>\n",
       "      <td>35.6846</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-09-29</th>\n",
       "      <td>2991.58</td>\n",
       "      <td>35.6846</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-09-30</th>\n",
       "      <td>3002.24</td>\n",
       "      <td>35.6846</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-10-03</th>\n",
       "      <td>2998.50</td>\n",
       "      <td>35.6846</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-10-04</th>\n",
       "      <td>3029.50</td>\n",
       "      <td>35.6846</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            EUROSTOXX   VSTOXX\n",
       "2016-09-28    2991.11  35.6846\n",
       "2016-09-29    2991.58  35.6846\n",
       "2016-09-30    3002.24  35.6846\n",
       "2016-10-03    2998.50  35.6846\n",
       "2016-10-04    3029.50  35.6846"
      ]
     },
     "execution_count": 54,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#data.head()\n",
    "data.tail()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {
    "uuid": "07158c72-907f-4636-ad40-95182b7728e3"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([<matplotlib.axes._subplots.AxesSubplot object at 0x7f0cef74bfd0>,\n",
       "       <matplotlib.axes._subplots.AxesSubplot object at 0x7f0cf45b04a8>],\n",
       "      dtype=object)"
      ]
     },
     "execution_count": 55,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f0cfddeaa20>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "data.plot(subplots=True, grid=True, style='b', figsize=(8, 6))\n",
    "# tag: es50_vs\n",
    "# title: The EURO STOXX 50 Index and the VSTOXX volatility index"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {
    "uuid": "17ae59ff-9863-4c30-9493-22d44c0e5edf"
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>EUROSTOXX</th>\n",
       "      <th>VSTOXX</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1999-01-04</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1999-01-05</th>\n",
       "      <td>0.017228</td>\n",
       "      <td>0.489248</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1999-01-06</th>\n",
       "      <td>0.022138</td>\n",
       "      <td>-0.165317</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1999-01-07</th>\n",
       "      <td>-0.015723</td>\n",
       "      <td>0.256337</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1999-01-08</th>\n",
       "      <td>-0.003120</td>\n",
       "      <td>0.021570</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            EUROSTOXX    VSTOXX\n",
       "1999-01-04        NaN       NaN\n",
       "1999-01-05   0.017228  0.489248\n",
       "1999-01-06   0.022138 -0.165317\n",
       "1999-01-07  -0.015723  0.256337\n",
       "1999-01-08  -0.003120  0.021570"
      ]
     },
     "execution_count": 56,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "rets = np.log(data / data.shift(1)) \n",
    "rets.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([<matplotlib.axes._subplots.AxesSubplot object at 0x7f0cef4f3e80>,\n",
       "       <matplotlib.axes._subplots.AxesSubplot object at 0x7f0cef71ab00>],\n",
       "      dtype=object)"
      ]
     },
     "execution_count": 57,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f0cef4feda0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "rets.plot(subplots=True, grid=True, style='b', figsize=(8, 6))\n",
    "# tag: es50_vs_rets\n",
    "# title: Log returns of EURO STOXX 50 and VSTOXX"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<table class=\"simpletable\">\n",
       "<caption>OLS Regression Results</caption>\n",
       "<tr>\n",
       "  <th>Dep. Variable:</th>         <td>VSTOXX</td>      <th>  R-squared:         </th>  <td>   0.526</td> \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Model:</th>                   <td>OLS</td>       <th>  Adj. R-squared:    </th>  <td>   0.525</td> \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Method:</th>             <td>Least Squares</td>  <th>  F-statistic:       </th>  <td>   5043.</td> \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Date:</th>             <td>Tue, 01 Sep 2020</td> <th>  Prob (F-statistic):</th>   <td>  0.00</td>  \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Time:</th>                 <td>15:05:03</td>     <th>  Log-Likelihood:    </th>  <td>  8271.0</td> \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>No. Observations:</th>      <td>  4554</td>      <th>  AIC:               </th> <td>-1.654e+04</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Df Residuals:</th>          <td>  4553</td>      <th>  BIC:               </th> <td>-1.653e+04</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Df Model:</th>              <td>     1</td>      <th>                     </th>      <td> </td>    \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Covariance Type:</th>      <td>nonrobust</td>    <th>                     </th>      <td> </td>    \n",
       "</tr>\n",
       "</table>\n",
       "<table class=\"simpletable\">\n",
       "<tr>\n",
       "      <td></td>         <th>coef</th>     <th>std err</th>      <th>t</th>      <th>P>|t|</th>  <th>[0.025</th>    <th>0.975]</th>  \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>EUROSTOXX</th> <td>   -2.7538</td> <td>    0.039</td> <td>  -71.015</td> <td> 0.000</td> <td>   -2.830</td> <td>   -2.678</td>\n",
       "</tr>\n",
       "</table>\n",
       "<table class=\"simpletable\">\n",
       "<tr>\n",
       "  <th>Omnibus:</th>       <td>1298.794</td> <th>  Durbin-Watson:     </th> <td>   2.085</td> \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Prob(Omnibus):</th>  <td> 0.000</td>  <th>  Jarque-Bera (JB):  </th> <td>24719.733</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Skew:</th>           <td> 0.876</td>  <th>  Prob(JB):          </th> <td>    0.00</td> \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Kurtosis:</th>       <td>14.279</td>  <th>  Cond. No.          </th> <td>    1.00</td> \n",
       "</tr>\n",
       "</table>"
      ],
      "text/plain": [
       "<class 'statsmodels.iolib.summary.Summary'>\n",
       "\"\"\"\n",
       "                            OLS Regression Results                            \n",
       "==============================================================================\n",
       "Dep. Variable:                 VSTOXX   R-squared:                       0.526\n",
       "Model:                            OLS   Adj. R-squared:                  0.525\n",
       "Method:                 Least Squares   F-statistic:                     5043.\n",
       "Date:                Tue, 01 Sep 2020   Prob (F-statistic):               0.00\n",
       "Time:                        15:05:03   Log-Likelihood:                 8271.0\n",
       "No. Observations:                4554   AIC:                        -1.654e+04\n",
       "Df Residuals:                    4553   BIC:                        -1.653e+04\n",
       "Df Model:                           1                                         \n",
       "Covariance Type:            nonrobust                                         \n",
       "==============================================================================\n",
       "                 coef    std err          t      P>|t|      [0.025      0.975]\n",
       "------------------------------------------------------------------------------\n",
       "EUROSTOXX     -2.7538      0.039    -71.015      0.000      -2.830      -2.678\n",
       "==============================================================================\n",
       "Omnibus:                     1298.794   Durbin-Watson:                   2.085\n",
       "Prob(Omnibus):                  0.000   Jarque-Bera (JB):            24719.733\n",
       "Skew:                           0.876   Prob(JB):                         0.00\n",
       "Kurtosis:                      14.279   Cond. No.                         1.00\n",
       "==============================================================================\n",
       "\n",
       "Warnings:\n",
       "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n",
       "\"\"\""
      ]
     },
     "execution_count": 58,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X = rets['EUROSTOXX']\n",
    "y = rets['VSTOXX']\n",
    "\n",
    "p_inf=float(\"inf\")  # 正无穷\n",
    "n_inf=float(\"-inf\")  # 负无穷\n",
    "y = y.map(lambda x: y.median() if x == p_inf or x == n_inf or np.isnan(x) else x)\n",
    "X = X.map(lambda x: y.median() if x == p_inf or x == n_inf or np.isnan(x) else x)\n",
    "\n",
    "import matplotlib.pyplot as  plt\n",
    "import statsmodels.api as sm\n",
    "\n",
    "model = sm.OLS(y, X)\n",
    "model = model.fit()\n",
    "model.summary()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "EUROSTOXX   -2.753815\n",
       "dtype: float64"
      ]
     },
     "execution_count": 59,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model.params"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "\"\\nplt.plot(xdat, ydat, 'r.')\\nax = plt.axis()  # grab axis values\\nx = np.linspace(ax[0], ax[1] + 0.01)\\nplt.plot(x, model.beta[1] + model.beta[0] * x, 'b', lw=2)\\nplt.grid(True)\\nplt.axis('tight')\\nplt.xlabel('EURO STOXX 50 returns')\\nplt.ylabel('VSTOXX returns')\\n# tag: scatter_rets\\n# title: Scatter plot of log returns and regression line\\n\""
      ]
     },
     "execution_count": 60,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\nrkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f0cef4ed6d8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 选择100个从最小值到最大值平均分布（equally spaced）的数据点\n",
    "X_prime = np.linspace(X.min(), X.max(), 100)[:, np.newaxis]\n",
    "# 计算预测值\n",
    "y_hat = model.predict(X_prime)\n",
    "plt.scatter(X, y, alpha=0.3)  # 画出原始数据\n",
    "plt.xlabel(\"EURO STOXX 50 returns\")\n",
    "plt.ylabel(\"VSTOXX returns\")\n",
    "plt.plot(X_prime, y_hat, 'r', alpha=0.9)  # 添加回归线，红色\n",
    "'''\n",
    "plt.plot(xdat, ydat, 'r.')\n",
    "ax = plt.axis()  # grab axis values\n",
    "x = np.linspace(ax[0], ax[1] + 0.01)\n",
    "plt.plot(x, model.beta[1] + model.beta[0] * x, 'b', lw=2)\n",
    "plt.grid(True)\n",
    "plt.axis('tight')\n",
    "plt.xlabel('EURO STOXX 50 returns')\n",
    "plt.ylabel('VSTOXX returns')\n",
    "# tag: scatter_rets\n",
    "# title: Scatter plot of log returns and regression line\n",
    "'''"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true,
    "uuid": "24c708df-1e81-48c6-b1c2-890dd52e541f"
   },
   "outputs": [],
   "source": [
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "metadata": {
    "uuid": "e1f9009e-5b73-4e04-9b10-deea36f4e508"
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>EUROSTOXX</th>\n",
       "      <th>VSTOXX</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>EUROSTOXX</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>-0.724945</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>VSTOXX</th>\n",
       "      <td>-0.724945</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           EUROSTOXX    VSTOXX\n",
       "EUROSTOXX   1.000000 -0.724945\n",
       "VSTOXX     -0.724945  1.000000"
      ]
     },
     "execution_count": 61,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "rets.corr()\n",
    "#EURO STOXX 50和VSTOXX之间的滚动相关\n",
    "#            EUROSTOXX    VSTOXX\n",
    "# EUROSTOXX   1.000000 -0.724945\n",
    "# VSTOXX     -0.724945  1.000000\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {
    "uuid": "a534d3db-df59-4a31-b0b7-1ab3c19d77d0"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7f0cefb414e0>"
      ]
     },
     "execution_count": 62,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f0cef822438>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "pd.rolling_corr(rets.EUROSTOXX,rets.VSTOXX,window=252).plot(grid=True,style='b')\n",
    "#pd.rolling_corr(rets['EUROSTOXX'], rets['VSTOXX'], window=252).plot(grid=True, style='b')\n",
    "\n",
    "# tag: roll_corr\n",
    "# title: Rolling correlation between EURO STOXX 50 and VSTOXX"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
